package post_to_in_pkg.node;
import post_to_in_pkg.lexer.*;

public abstract class Node {

	//int lexline;
	public Node() {
	//	lexline=Lexer.line;
	}

	public abstract String toString();
    
	public abstract boolean isReturnVoid();
    public abstract boolean isTempNode();
    public abstract boolean hasChild();

    //deprecated method, in order to decrease the coupling, we set up a sythesized attribute in every node 
    //with corresponding semantic rule 

    // @deprecated! public abstract void printChild(); 
    public abstract String[] generateCodes();//a bottom up process
    //no error report function and the variable:lexline is reserved for future use
    
}
